// 冒泡排序
function sort(arr) {
  let lastExchangeIndex = 0; //最后一次交换的位置
  let  sortBorder = arr.length - 1; // 无序数列的边界，每次比较到这里为止
  for(let i = 0;i<arr.length - 1; i++) {
    // 有序标记，每一轮的初始值都是true
    let isSorted = true;
    for (let j = 0;j < sortBorder;i++) {
      let tmp = 0;
      if (arr[j] > arr[j+1]) {
        tmp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = tmp;
        // 因为有元素进行交换，所以不是有序的，标记变为false
        isSorted = false;
        // 更新为最后一次交换元素的位置
        lastExchangeIndex = j;
      }
    }
    sortBorder = lastExchangeIndex;
    if (isSorted) {
      break;
    }
  }
}